package cn.xscrum.vtsp.service.impl;

import cn.xscrum.common.utils.DateUtils;
import cn.xscrum.framework.util.ShiroUtils;
import cn.xscrum.vtsp.domain.VtspBlacklist;
import cn.xscrum.vtsp.mapper.VtspBlacklistMapper;
import cn.xscrum.vtsp.service.IVtspBlacklistService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 志愿者黑名单信息Service业务层处理
 *
 * @author liuwl
 * @date 2021-10-01
 */
@Service
public class VtspBlacklistServiceImpl implements IVtspBlacklistService
{
    @Autowired
    private VtspBlacklistMapper vtspBlacklistMapper;    //定义Mapper接口对象

    /**
     * 查询志愿者黑名单ID
     *
     * @param volunteerId 志愿者信息ID
     * @return 志愿者黑名单信息
     */
    @Override
    public VtspBlacklist selectVtspBlacklistById(Long volunteerId)
    {
        return vtspBlacklistMapper.selectVtspBlacklistById(volunteerId);
    }

    /**
     * 查询黑名单志愿者证件号码
     *
     * @param cardNo 志愿者证件号码
     * @return 志愿者黑名单信息
     */
    public VtspBlacklist selectVtspBlacklistByCardNo(String cardNo)
    {
        return vtspBlacklistMapper.selectVtspBlacklistByCardNo(cardNo);
    }

    /**
     * 查询志愿者黑名单列表
     *
     * @param vtspBlacklist 志愿者黑名单信息
     * @return 志愿者黑名单信息集合
     */
    @Override
    public List<VtspBlacklist> selectVtspBlacklistList(VtspBlacklist vtspBlacklist)
    {
        return vtspBlacklistMapper.selectVtspBlacklistList(vtspBlacklist);
    }

    /**
     * 修改志愿者黑名单
     *
     * @param vtspBlacklist 志愿者黑名单信息
     * @return 修改结果
     */
    @Override
    public int updateVtspBlacklist(VtspBlacklist vtspBlacklist)
    {
        //获取更改人名称
        vtspBlacklist.setUpdateBy(ShiroUtils.getSysUser().getLoginName());
        //获取更改时间
        vtspBlacklist.setUpdateTime(DateUtils.getNowDate());
        return vtspBlacklistMapper.updateVtspBlacklist(vtspBlacklist);
    }

    /**
     * 移出黑名单
     *
     * @param volunteerId 志愿者信息ID
     * @return 结果
     */
    @Override
    public int removeVtspBlacklistById(Long volunteerId)
    {
        return vtspBlacklistMapper.removeVtspBlacklistById(volunteerId);
    }

    /**
     * 查询志愿者服务记录详情列表
     *
     * @param volunteerId 志愿者信息ID
     * @return 志愿者服务记录详情信息
     */
    public List<VtspBlacklist> selectServeList(Long volunteerId)
    {
        return vtspBlacklistMapper.selectServeList(volunteerId);
    }

    /**
     * 查询志愿者报名记录详情列表
     *
     * @param volunteerId 志愿者信息ID
     * @return 志愿者报名记录详情信息
     */
    public List<VtspBlacklist> selectEnrollList(Long volunteerId)
    {
        return vtspBlacklistMapper.selectEnrollList(volunteerId);
    }

}
